草庐IT

C++ sizeof 包装类

全部标签

c++ - C++ 中的 sizeof 是在编译时还是运行时评估的?

例如此代码片段的结果取决于哪台机器:编译器机器或机器可执行文件工作?sizeof(shortint) 最佳答案 sizeof是编译时运算符。 关于c++-C++中的sizeof是在编译时还是运行时评估的?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2615203/

c++ - 什么是 sqlite 的好的 OO C++ 包装器

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于StackOverflow来说是题外话,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我想为sqlite找到一个好的面向对象的C++(而不是C)包装器。人们推荐什么?如果您有几个建议,请将它们放在单独的回复中以供投票。另外,请说明您是否对您建议的包装器有任何经验,以及您是如何使用它的。 最佳答案

c++ - C/C++ 中的单引号、双引号和 sizeof ('a' )

我在看问题Singlequotesvs.doublequotesinCorC++.我无法完全理解给出的解释,所以我编写了一个程序:#includeintmain(){charch='a';printf("sizeof(ch):%d\n",sizeof(ch));printf("sizeof(\'a\'):%d\n",sizeof('a'));printf("sizeof(\"a\"):%d\n",sizeof("a"));printf("sizeof(char):%d\n",sizeof(char));printf("sizeof(int):%d\n",sizeof(int));ret

c++ - `sizeof` *真的*评估为 `std::size_t` 吗?它可以?

阅读以下标准段落:[C++11:5.3.3/6]:Theresultofsizeofandsizeof...isaconstantoftypestd::size_t.[Note:std::size_tisdefinedinthestandardheader(18.2).—endnote]现在:[C++11:18.2/6]:Thetypesize_tisanimplementation-definedunsignedintegertypethatislargeenoughtocontainthesizeinbytesofanyobject.当然,这篇文章不需要size_t是用typede

c++ - 64 位机器上的 sizeof(int) 应该是多少?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:sizeofint,long,etcDoesthesizeofanintdependonthecompilerand/orprocessor?Whatdecidesthesizeofaninteger?我使用的是64位机器。$uname-mx86_64$file/usr/bin/file/usr/bin/file:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.32,s

swift - 将巨大的 C++ 库自动包装到 C 以在 Swift/Go 中导入

假设我有一个巨大的C++库(有大量依赖项,在GCC下完整构建需要大约3小时)。我想在该库的基础上进行构建,但不想在C++中这样做,而是使用更高效的语言。我如何才能真正桥接或包装那个externlib包,以便我可以用另一种语言访问它并在它之上编程?考虑的语言:swift去我发现,这两种语言都为C库和代码提供了自动桥接或包装(我实际上不知道包装/桥接之间有什么区别)。所以,如果我有一些c代码,我可以将它放在同一个Swift或Go项目中,并可以在我的项目中通过简单的导入来使用它。这在两种语言中都不适用于C++代码。所以我用谷歌搜索了如何将C++库转换为C代码或生成自动包装器。我发现了以下内容

go - 如何使用 "...interface{}"参数包装函数(如 Printf)

在我当前的项目中,我正在尝试编写一个有条件地调用fmt.Println的日志记录函数。我当前的Log函数如下所示:funcLog(levelint,a...interface{}){iflevel但是当我这样调用它时,由于某种原因,Log的输出被括在括号中:http://play.golang.org/p/Aa8vC54Ih0packagemainimport"fmt"varLogLevelintfuncmain(){fmt.Println("string",10,3.1415926)LogLevel=1Log(1,"string",10,3.1415926)}funcLog(leve

go - 包装声明的目的是什么?

每个Go文件都以package开头.据我所知——这可能是我遗漏了一些信息的地方——只有两个可能的值:所在目录的名称*,或main.如果是main,该目录中的所有其他文件只能有main,也。如果是其他原因,则项目不一致/违反约定。现在如果是目录名,那就是多余的了,因为同样的信息,嗯,在目录名中。如果是main,有点没用,因为据我所知,没有办法告诉gobuild到“请构建所有main包”。*因为,换句话说,一个目录就是一个包。 最佳答案 包名不必与目录名一致。packagefoobar可以在目录xyz/go-foobar中。在这种情况下

c - 如何在 Linux 上重新实现(或包装)系统调用函数?

假设我想完全接管open()系统调用,也许是为了包装实际的系统调用并执行一些日志记录。OnewaytodothisistouseLD_PRELOAD加载接管open()入口点的(用户制作的)共享对象库。用户创建的open()例程然后通过dlsym()获取指向glibc函数open()的指针,并调用它。然而,上面提出的解决方案是一个动态解决方案。假设我想静态链接我自己的open()包装器。我该怎么做?我猜机制是一样的,但我也猜想用户定义的open()和libcopen()之间会有符号冲突。请分享任何其他实现相同目标的技术。 最佳答案

java - 通过设置最大宽度使 JLabel 包装它的文本

我有一个JLabel,上面有很多文字。有没有办法让JLabel有一个最大宽度,以便它将文本换行以使其不超过这个宽度?谢谢 最佳答案 没有。你可以在标签中使用HTML,但是你必须硬编码break标签。更好的方法是使用JTextArea并打开换行。您可以更改文本的背景、前景、字体等,使其看起来像一个标签。注意,这个答案至少在Java7中已经过时了。根据@darren的回答,您只需用包装字符串和标签:myLabel.setText(""+myString+"");您不需要对任何中断标记进行硬编码。文本在组件调整大小时换行。